PostgreSQL
開発元PostgreSQL Global Development Group
初版1997年1月29日 (27年前) (1997-01-29)[1]
前身のPostgresは1989年6月 (34年前) (1989-06)[2]
最新版16.3[3]
PostgreSQL(ポストグレス キューエル[※ 1])は、拡張性とSQL準拠を強調するフリーでオープンソースの関係データベース管理システム(RDBMS)である。Postgresとしても知られている。もともとは、カリフォルニア大学バークレー校で開発されたIngresデータベースの後継としてその起源を根拠としたPOSTGRESという名前であった。1996年に、プロジェクトはSQLのサポートを反映してPostgreSQLに改名された。2007年の検討の結果、開発チームはPostgreSQLという名前とPostgresという別名を維持することを決定した。
PostgreSQLは、原子性、整合性、独立性、耐久性 (ACID)プロパティを持つトランザクション、自動更新可能なビュー、マテリアライズドビュー、トリガ、外部キー、ストアドプロシージャを特徴としている。単一マシンからデータウェアハウスや多数の同時使用ユーザを持つWebサービスまで、さまざまなワークロードを扱えるように設計されている。かつてのMac OS X Lion ServerからmacOS Server 5.7までデフォルトデータベースであった。macOS、Linux、FreeBSD、OpenBSD、Windowsでも利用可能である。 PostgreSQLはIllustraや、Illustraを買収しその技術を採りいれたInformixとともにオブジェクト関係データベース管理システムを実装してきた[4]。問い合わせ言語には SQL を用いており、SQL92, 99 DB-Engines.comによるマーケットシェア調査では、2018年2月現在、Oracle Database、MySQL、Microsoft SQL Server に続いて4位であり[5]、MySQL とのシェアの差は年々縮まる傾向にある[6]。 2012年7月当時は、クラウドサービスプロバイダの Jelastic 関数(ストアドファンクション)によりサーバで実行される処理のまとまりを定義できる。PostgreSQL は行を返却する関数を定義することができる。関数の出力は複数の行であり、クエリの中でテーブルと同様に扱うことができる。実行するユーザまたは定義したユーザのどちらの権限で実行されるかを指定して関数を定義できる。 関数の定義には SQL の他、分岐やループをサポートする下記の言語で実装することが可能である。言語によっては関数をデータベーストリガとして実行することもできる。
概要
市場シェア
プラットフォーム
Unix系(FreeBSD、OpenBSD、Linux、macOS、Solaris)および Microsoft Windows で動作する。Windowsにおいては、バージョン7.4以前はCygwinを必要としたが、バージョン8.0以降はネイティブで動作する。
32ビット / 64ビット の両アーキテクチャ上で動作する。32ビット版では共有バッファサイズが最大2GBに制限されるが、64ビット版では上限は無い。
配布形態は、ソースコードや RPM・APT の他、EnterpriseDB 社よりGUIインストーラが提供されている。このパッケージにはGUIの管理ツールであるpgAdminやドライバ等の追加インストーラが同梱されている。
特徴
関数
組み込みでサポートされている言語[8]
PL/pgSQL: Oracle Databaseで用いられるPL/SQLを参考にして実装されたビルトイン言語。
PL/Tcl
PL/Perl
PL/Python
C言語[9]
外部のプロジェクトとして対応している言語